Tesseract 2.03 running on Gnome Terminal 2.26. "scanneddoc.tif" is the input document which will be rendered as "outputfile.txt" by Tesseract. |
|
Original author(s) | Ray Smith, Hewlett-Packard[1] |
Developer(s) | |
Stable release | 3.01 / October 21, 2011[1] |
Development status | Active |
Written in | C and C++ |
Operating system | Linux (32 & 64-bit), Windows (32-bit), and, unofficially, Mac OS X (x86) |
Available in |
Interface: English |
Type | Optical character recognition |
License | Apache License v2.0 |
Website | http://code.google.com/p/tesseract-ocr |
Tesseract is a free software optical character recognition engine for various operating systems.[2]
Originally developed as proprietary software at Hewlett-Packard between 1985 and 1995, it had very little work done on it in the following decade. It was then released as open source in 2005 by Hewlett Packard and UNLV. Tesseract development has been sponsored by Google since 2006.[3] It is released under the Apache License, Version 2.0.[1][4][5]
Tesseract is considered one of the most accurate free software OCR engines currently available.[5][6]
Contents |
The Tesseract engine was developed at Hewlett Packard Laboratories Bristol and at Hewlett Packard Co, Greeley Colorado between 1985 and 1994, with some more changes made in 1996 to port to Windows, and some migration from C to C++ in 1998. A lot of the code was written in C, and then some more was written in C++. Since then all the code has been converted to at least compile with a C++ compiler.[4]
Currently Tesseract builds under Linux with GCC 2.95 or later and under Windows with Visual C++ 6. The C++ code makes heavy use of a list system using macros. This predates the C++ Standard Template Library and may be more efficient than Standard Template Library lists, but is reportedly harder to debug in the event of a segmentation fault. Another side-effect of the C/C++ split is that the C++ data structures get converted to C data structures to call the low-level C code. The migration to C++ is a step towards eliminating this conversion, though it is not yet complete.
Tesseract was in the top 3 OCR engines in terms of character accuracy in 1995. It is available for Linux, Windows and Mac OS X, however, due to limited resources only Windows and Ubuntu are rigorously tested by developers.[4][5][7]
Tesseract up to and including version 2 could only accept TIFF images of simple one column text as inputs. These early versions did not include layout analysis and so inputting multi-columned text, images, equations produced a garbled output. Since version 3.00 Tesseract has supported output text formatting, hOCR positional information and page layout analysis. Support for a number of new image formats was added using the Leptonica library. Tesseract can detect whether text is monospaced or proportional.[5]
The initial versions of Tessaract could only recognize English language text. Starting with version 2 Tesseract was able to process English, French, Italian, German, Spanish, Brazilian Portuguese and Dutch. Starting with version 3 it can recognize Arabic, English, Bulgarian, Catalan, Czech, Chinese (Simplified and Traditional), Danish (standard and Fraktur script), German, Greek, Finnish, French, Hebrew, Croatian, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Dutch, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak (standard and Fraktur script), Slovenian, Spanish, Serbian, Swedish, Tagalog, Thai, Turkish, Ukrainian and Vietnamese. Tesseract can be trained to work in other languages too.[5]
If Tessaract is used to process right-to-left text such Arabic or Hebrew the results are ordered as though it is left-to-right text.[8]
Tesseract is suitable for use as a backend, and can be used for more complicated OCR tasks including layout analysis by using a frontend such as OCRopus.[9]
Tesseract does not come with a GUI and is instead run from the command-line interface.[10]
There are several separate projects which provide a GUI for Tesseract:
In a July 2007 article on Tesseract, Anthony Kay of Linux Journal termed it "a quirky command-line tool that does an outstanding job". At that time he noted "Tesseract is a bare-bones OCR engine. The build process is a little quirky, and the engine needs some additional features (such as layout detection), but the core feature, text recognition, is drastically better than anything else I've tried from the Open Source community. It is reasonably easy to get excellent recognition rates using nothing more than a scanner and some image tools, such as The GIMP and Netpbm."[2]
|